package org.linlinjava.litemall.admin.annotation.repeat;

import java.lang.annotation.*;
import java.util.concurrent.TimeUnit;
/**
 * @Author: penglingyu
 * @Date: 2024/3/28 14:42
 * @desc 防⽌重复提交标记注解
 */
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
public @interface RequestRepeatLock {

    /**
     * 键的前缀prefix
     * @return
     */
    String keyPrefix() default "CAFE:REFUSED_REPEAT_SUBMIT_CACHE_KEY:";
    /**
     * 时间
     * @return
     */
    long timeout() default 3;
    /**
     * 时间单位
     * @return
     */
    TimeUnit unit() default TimeUnit.SECONDS;
    /**
     * 是否需要⽤户key
     * @return
     */
    boolean userKey() default true;
    /*** redis key分隔符
     * @return 分隔符
     */
    String delimiter() default "&";
    /**
     * ⾃定义提示
     * @return
     */
    String message() default "操作过于频繁，请稍后再试";

}
